New function direct_kernel_remap_pfn_range(). Like
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Thu, 20 Oct 2005 11:10:14 +0000 (12:10 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Thu, 20 Oct 2005 11:10:14 +0000 (12:10 +0100)
direct_remap_pfn_range but doesn't take a vma and implicitly
maps into init_mm.
Signed-off-by: Keir Fraser <keir@xensource.com>
linux-2.6-xen-sparse/arch/xen/i386/mm/ioremap.c
linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable.h
linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/pgtable.h

index 7d989863df993446c48f54c0769e0aba672f4e77..08aded5dd921d22415bfae564af4d9ac9aacccc5 100644 (file)
@@ -123,9 +123,18 @@ int direct_remap_pfn_range(struct vm_area_struct *vma,
        return __direct_remap_pfn_range(
                vma->vm_mm, address, mfn, size, prot, domid);
 }
-
 EXPORT_SYMBOL(direct_remap_pfn_range);
 
+int direct_kernel_remap_pfn_range(unsigned long address, 
+                                 unsigned long mfn,
+                                 unsigned long size, 
+                                 pgprot_t prot,
+                                 domid_t  domid)
+{
+       return __direct_remap_pfn_range(
+               &init_mm, address, mfn, size, prot, domid);
+}
+EXPORT_SYMBOL(direct_kernel_remap_pfn_range);
 
 /* FIXME: This is horribly broken on PAE */ 
 static int lookup_pte_fn(
index 59cc6f60e00e03da04e0e5d360684da3e4a761b7..5d55df00a041b1147a624a62db4ee06e57aaa24d 100644 (file)
@@ -455,6 +455,11 @@ int direct_remap_pfn_range(struct vm_area_struct *vma,
                             unsigned long size, 
                             pgprot_t prot,
                             domid_t  domid);
+int direct_kernel_remap_pfn_range(unsigned long address, 
+                                 unsigned long mfn,
+                                 unsigned long size, 
+                                 pgprot_t prot,
+                                 domid_t  domid);
 int create_lookup_pte_addr(struct mm_struct *mm,
                            unsigned long address,
                            unsigned long *ptep);
index 409c40483c6341943dd02f933d54ed8bdc65a7dd..fe4467a7a14bedaef69a7aa330ab3e26e4986b3a 100644 (file)
@@ -533,6 +533,12 @@ int direct_remap_pfn_range(struct vm_area_struct *vma,
                             pgprot_t prot,
                             domid_t  domid);
 
+int direct_kernel_remap_pfn_range(unsigned long address, 
+                                 unsigned long mfn,
+                                 unsigned long size, 
+                                 pgprot_t prot,
+                                 domid_t  domid);
+
 int create_lookup_pte_addr(struct mm_struct *mm,
                            unsigned long address,
                            unsigned long *ptep);